草庐IT

ASP.NET Web Forms - 实例

全部标签

c# - System.Web.HttpException 文件不存在 - 页面加载正常 (ASP.NET)

我正在使用Log4Net并在我的ASP.NET应用程序每次抛出错误时进行记录:protectedvoidApplication_Error(objectsender,EventArgse){Exceptionex=Server.GetLastError();Log.Error("Anerroroccurred",ex);}唉,每次我访问我的应用程序的页面时,都会捕获到System.Web.HttpException,“文件不存在”。这是堆栈跟踪:beiSystem.Web.StaticFileHandler.GetFileInfo(StringvirtualPathWithPathIn

c# - 创建一个包含对象新实例的列表

创建包含同一对象的任意数量实例的列表的最佳方法是什么?即是否有更紧凑或更有效的方法来执行以下操作?staticListMyObjs=Enumerable.Range(0,100).Select(i=>newMyObj()).ToList();(Enumerable.Repeat会给我十个对同一个对象的引用,所以我认为它行不通。) 最佳答案 编辑以反射(reflect)此方法不工作。我很好奇你对Enumerable.Repeat的评论,所以我试了一下。//donotuse!ListmyList=Enumerable.Repeat(ne

c# - ASP.NET Odata Web API 的错误处理

我很想知道在ODataController中引发异常所遵循的最佳实践是什么。如果您在方法中引发异常,默认情况下它会转换为响应代码500,并且内容包含有关错误的详细信息。我想明确响应代码,并在key无效的情况下发送400。例如:如果输入请求有一个无效的键想返回400的HttpResponseCode并且内容应该有类似于引发异常的错误详细信息。非常感谢您的意见 最佳答案 OData(至少从v3开始)使用specificjson表示错误:{"error":{"code":"Acustomerrorcode","message":{"lan

c# - 在 Windows 窗体应用程序表单中嵌入文件资源管理器实例

我的(C#、.NET3.5)应用程序生成文件,除了引发可以捕获和响应的事件外,我还想以一种形式向用户显示目标文件夹。文件列表以与其他信息相同的形式显示。我正在使用WebBrowser控件(System.Windows.Forms.WebBrowser)的一个实例,然后导航到该文件夹​​。这显示了资源管理器窗口的一些默认View,左侧是文件摘要面板,文件位于“平铺”(大图标和文本)View中。例如,wb.Navigate(@"c:\path\to\folder\");我想隐藏面板并在详细信息View中查看文件列表。用户可以通过右键单击上下文菜单访问它,但我希望它自动出现。我宁愿不必构建自

c# - 从仅给定 Type 实例的 MEF 容器中获取导出

我有一个场景,我必须从我的CompositionContainer实例中导出,但我只有一个Type可以使用;我在编译时不知道类型,因此我无法以正常的通用方式检索导出的对象。通常你会这样做:_container.GetExportedObject();但就我而言,我有这个:TypesomeType=...;_container.HowDoIGetTheExport(someType);有什么想法吗? 最佳答案 找到答案:varexport=_container.GetExports(someType,null,null).FirstO

c# - 限制应用程序的多个实例

好的,我已经创建了我的C#应用程序,为它创建了一个安装程序,并将它安装在我的机器上。问题是,当用户两次打开应用程序exe时,会有两个应用程序实例在运行。我只希望应用程序的一个实例在任何时候都在运行,我该怎么做呢?谢谢你的帮助, 最佳答案 这方面的常用技术是创建一个命名的Mutex并在应用程序启动时检查它是否存在。参见this或this.来自DDJ的代码:classApp:Form{Mutexmutex;App(){Text="SingleInstance!";mutex=newMutex(false,"SINGLE_INSTANCE

c# - 如何在 ASP.NET MVC 站点中实现速率限制?

我正在构建一个ASP.NETMVC站点,我想在其中限制经过身份验证的用户使用站点某些功能的频率。虽然我了解速率限制的基本工作原理,但我无法想象如何在不产生主要代码味道的情况下以编程方式实现它。您能否用C#示例代码向我指出一个简单而强大的解决方案来解决此类问题?如果重要的话,所有这些功能目前都表示为仅接受HTTPPOST的操作。我最终可能还想为HTTPGET函数实现速率限制,因此我正在寻找适用于所有此类情况的解决方案。 最佳答案 如果您使用的是IIS7,您可以查看DynamicIPRestrictionsExtension.另一种可能

c# - ASP.NET Web API 和 [Serializable] 类

我有一个标有[Serializable]的类。当我从WebAPI返回它时,字段名称都很奇怪。通常返回的JSON是[{"OrderId":797...使用[Serializable]时返回的JSON[{"k__BackingField":797...我不想将其标记为可序列化以使用BinaryFormatter进行缓存。除了编写自定义序列化程序或制作不可序列化的孪生类并编写猴子代码以在两者之间“转换”之外,还有其他方法吗? 最佳答案 您只需要一行代码就可以让Json.NET再次忽略[Serializable]语义:((DefaultCo

c# - web.config asp.net中的oracle数据库连接

我知道我可以在C#类本身中创建一个连接字符串,但我试图避免这样做。我想在web.config中创建连接,我读到它更安全。尽管如此,我找不到任何指定了以下属性的示例:HostnamePortSIDUsernamePasswordConnectionName有人可以帮忙在webconfig中创建这个吗?我正在连接到Oracle数据库。 最佳答案 这是模板:这是我的一个-减去真实的TNS名称和用户名和密码: 关于c#-web.configasp.net中的oracle数据库连接,我们在Stac

c# - 如何在 ASP.NET Core 1.0 RC2 中将实例注册到 ServiceCollection

我正在将我的Web应用程序从ASP.NETCoreRC1迁移到RC2。在RC2中,IServiceCollection不再有AddInstance方法。如何注册配置?这是在RC1中是如何完成的publicclassStartup{publicIConfigurationConfiguration{get;set;}publicvoidConfigureServices(IServiceCollectionservices){//AddInstancedoesn'texistservices.AddInstance(Configuration);..}} 最佳